<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <script>
        // js 数据类型很多可以分成两大类
        // 基本数据类型{简单数据类型}
        // 五种基本数据类型: 数字类型  字符串类型 布尔类型 undefined null类型
        //   字符串类型可以定义的值带引号可以是单引号和双引号还要反引号
        var str_1 = 'hello';
        var str_2 = "hello";
        var str_3 = `hello`;
        // 同种引号不能嵌套  
        // 只能异种引号嵌套

        // 数字类型包括整数类型和浮点数类
        var num1 = 20;
        var num2 = 20.12;
        var num3 = -20;
        var num4 = -20.123;
        //  特殊的数字为 Infinity 意思为正∞
        // -Infinity 意思是负无穷
        // 当数字 计算不出结果时会得到NaN 
        // NaN具有粘性 
        console.log(10 - "wdnmd");
        // 这种数字减去字符串的形式会得到NaN
        console.log(100 * '10');
        // 这种会得到不一样的结果 因为js会进行隐式转换

        // 布尔类型只有两个值 真值和假值 true 和false 
        // true 代表真值 符合其条件 false 代表假值 不符合条件 
        console.log(true);
        console.log(false);
        // undefined类型就一个值 就是undefined
        // 当一个变量创建以后没有被赋值 他的类型就是 undefined (未定义的)
        var x;
        console.log(x);
        // null类型也就他一个值 它自身 null
        // 通常用null 表示空值
        var y = null;

        // 引用数据类型(复杂数据类型)
        // 数组 函数 对象
        // array  数组是同一类数据的集合
        // 他的形式是[]里面用逗号隔开每一个元素
        var array_1 = [12, 374, 81,];
        var nae_1 = ["张三", "赵尼斯", "王基层",];

        // 对象类型是用来描述信息的集合
        // 可以进行嵌套
        var user = {
            username: "张三",
            age: "24",
            height: "175",
            chiid: {
                name: "张小红",
                age: '1',
            }
        }
        // 函数类型 function 用来保存代码(以便于复用)
        function foo() {
            // 存储代码的 
            console.log("100");
            console.log("120");

        }
// 调用方式
// foo();


    </script>
</head>

<body>

</body>

</html>